介紹了許多資料型態後,不知道大家現在有沒有疑問:假設我們現在手上有多個變數,要怎麼知道這個變數裡儲存了甚麼型態的資料?
今天就要來介紹:怎麼查看變數的資料型態,又或者是檢查它是不是某一種資料型態。
class()
或是str()
這兩個函數,當我們今天只想知道該變數儲存了甚麼型態的資料可以使用class()
,如果我們今天想知道儲存的資料是甚麼型態再加上裡面的結構。class()
查看是不是資料型態不對造成的)# EX1:生成一個list型態的物件,並存入day7這個變數中
day7 = list(day = "Thursday",
where = "supermarket",
item = c("milk", "apple", "black tea")
)
# 使用class()查看
class(day7)
[1] "list"
# 使用str()查看,會顯示更多細節
str(day7)
List of 3
$ day : chr "Wednesday"
$ where: chr "supermarket"
$ item : chr [1:3] "milk" "apple" "black tea"
接著,我們再來看一個dataframe
型態的例子
(Tips: 在資料分析中,我們可以先使用str()
來查看資料有哪些欄位、欄位的型態以及內容)
# EX2:生成一個dataframe型態的物件,並存入day7這個變數中
day7 = data.frame(
item_id = c(1:5),
item_name = c("black tea", "bread",
"cookie", "apple",
"milk"),
item_cost = c(10, 18, 22, 32, 40)
)
# 使用class()查看
class(day7)
[1] "data.frame"
# 使用str()查看,會顯示更多細節
str(day7)
'data.frame': 5 obs. of 3 variables:
$ item_id : int 1 2 3 4 5
$ item_name: chr "black tea" "bread" "cookie" "apple" ...
$ item_cost: num 10 18 22 32 40
# 將一個數字存入day7這個變數中,並檢查是否為數值型態(會回傳TRUE/FALSE)
day7 = 3
is.numeric(day7)
[1] TRUE
# 檢查是否為字串
is.character(day7)
[1] FALSE
再來看個例子,生成一個list
型態的物件,並檢查它是否為dataframe
型態
day7 = list(day = "Thursday",
where = "supermarket",
item = c("milk", "apple", "black tea")
)
# 先檢查是否為list型態
is.list(day7)
[1] TRUE
#再檢查是否為dataframe型態
is.data.frame(day7)
[1] FALSE
學會查看資料的型態後,我們又往資料分析邁進一步了!
下一篇開始,將介紹一系列常用的資料處理,包含字串的處理、資料的清洗與合併。